package test.com.hospital.register.cmn.excel;

import com.alibaba.excel.EasyExcel;
import com.hospital.register.CmnApplication;
import com.hospital.register.dto.cmn.DictExcelDto;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 * 生成假的字典数据到 Excel 文件
 *
 * @author 刘逸晖
 */
@RunWith(value = SpringRunner.class)
@SpringBootTest(classes = CmnApplication.class)
public class DictExcelGenerator {

    /**
     * 生成假的字典数据到 Excel 文件
     *
     * @throws FileNotFoundException
     */
    @Test
    public void generate()
            throws IOException {
        List<DictExcelDto> dictList = new ArrayList<>(3);

        //生成假字典
        //性别
        DictExcelDto dict = new DictExcelDto();
        dict.setId(50000L);
        dict.setParentId(1L);
        dict.setName("性别");
        dict.setValue("50000");
        dict.setDictCode("Sex");
        dictList.add(dict);

        //男
        dict = new DictExcelDto();
        dict.setId(50001L);
        dict.setParentId(50000L);
        dict.setName("男");
        dict.setValue("50001");
        dict.setDictCode("Male");
        dictList.add(dict);

        //女
        dict = new DictExcelDto();
        dict.setId(50002L);
        dict.setParentId(50000L);
        dict.setName("女");
        dict.setValue("50002");
        dict.setDictCode("Female");
        dictList.add(dict);

        File excel = new File("D:/字典信息.xlsx");
        excel.createNewFile();
        OutputStream stream = new FileOutputStream(excel);
        EasyExcel.write(stream, DictExcelDto.class).sheet("字典信息").doWrite(dictList);
    }

}
